<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <h2>格式化时间</h2>
        <h4>格式前：{{time}}</h4>
        <!-- 计算属性实现 -->
        <h4>格式后：{{fmtDate}}</h4>
        <!-- methods实现 -->
        <h4>{{getFmtTime()}}</h4>
        <!-- 过滤求 默认传递参数time 给过滤器 将过滤器的返回值替换结果 -->
        <h4>{{time | timeFormater('YYYY-MM-DD HH:mm:ss') | mySlice}}</h4>
    </div>
    <script src="../vuejs/dayjs.min.js"></script>
    <script src="../vuejs/vue.js"></script>
    <script>
        // 要配置全局过滤器 
        // 过滤器使用场景 
        // 1.插值语法
        // 2.动态绑定 v-bind的属性可以使用
        // 注意 v-model不能用
        Vue.filter('mySlice',function(value){
            return value.slice(0,4)
        })
        const vm = new Vue({
            el : '#app',
            data() {
                return {
                    time : Date.now()
                }
            },
            methods: {
                getFmtTime(){
                    return dayjs(Date.now()).format('YYYY-MM-DD HH:mm:ss')
                }
            },
            computed: {
                fmtDate(){
                    return dayjs( Date.now()).format('YYYY-MM-DD HH:mm:ss')
                }
            },
            // 本质是函数 - 局部过滤器
            filters : {
                timeFormater(value,str){
                    return dayjs(value).format(str)
                },
                mySlice(value){
                    // 只保留结果的前四位
                    return value.slice(0,4)
                }
            }
        })
        
    </script>
</body>
</html>